package com.ssy.lingxi.report.service;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.report.entity.report.ContractDayReportDO;
import com.ssy.lingxi.report.model.vo.response.PurchaseStatisticsVO;

import java.time.LocalDateTime;
import java.util.List;

/**
 *  合同报表接口定义
 * @author ds
 * @date 2021/6/10
 * @version 2.0.0
 */
public interface IContractReportService {

    /**
     * 获取采购统计[统计合同数据]
     * @param user 登录用户
     * @return 采购统计[统计合同数据]
     */
    Wrapper<PurchaseStatisticsVO> getPurchaseList(UserLoginCacheDTO user);

    /**
     * 新增采购统计日报表[统计合同数据]
     * @param startTime 采购开始日期
     * @param endTime 采购截至日期
     */
    List<ContractDayReportDO> getContractDayReportList(LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 定时任务-生成前一天的采购统计[统计合同数据]
     */
    void newlyAddedDayContractReportTask();

    /**
     * 初始化采购统计数据
     * [本年度数据]
     */
    void initContractDayReport();
}
